<?php

class pm extends ebase
{  
	/**
	 * 新增用户
	 * @param userArr 用户资料  数组类型  格式：字段=>值 
	 */
	function __construct(){
		include_once ROOT.'/config.inc.php';
		include_once ROOT.'/uc_client/client.php';
	}
	function add($userArr)
	{
		return $this->db->insert($GLOBALS['cfg']['tablepre']."users", $userArr);
	}
	
	/**
	 * 获取最新消息
	 * @param int $uid
	 */
	function getCountNew($uid)
	{
		$pmdata=$this->pm_list($uid,1,10);
		$count=$pmdata['count'];
		 return  intval($count);
	}
	/**
	 * 站内信息发送
	 * @param int $fromuid		发件人uid 0 为系统消息
	 * @param mix $msgto		收件人 uid/username 多个逗号分割
	 * @param mix $subject		标题
	 * @param mix $message		内容
	 * @param int $instantly	立即发送 1 立即发送(默认)  0 进入短消息发送界面
	 * @param int $replypid		回复的消息Id
	 * @param int $isusername	0 = $msgto 为 uid、1 = $msgto 为 username
	 * @return
	 * 	>1	发送成功的人数
	 * 	0	收件人不存在
	 */
	function pm_send_sys($fromuid, $msgto, $subject, $message, $instantly = 1, $replypmid = 0, $isusername = 1, $type = 1){
		return uc_pm_send_sys($fromuid, $msgto, $subject, $message, $instantly, $replypmid, $isusername,$type);
	}
	function pm_send($fromuid, $msgto, $subject, $message, $instantly = 1, $replypmid = 0, $isusername = 0, $type = 0){
		return uc_pm_send($fromuid, $msgto, $subject, $message, $instantly, $replypmid, $isusername,$type);
	}
	
	/**
	 * 删除短消息
	 *
	 * @param int $uid		用户Id
	 * @param string $folder	打开的目录 inbox=收件箱，outbox=发件箱
	 * @param array	$pmids		要删除的消息ID数组
	 * @return
	 * 	>0 成功
	 * 	<=0 失败
	 */
	function pm_delete($uid, $folder, $pmids) {
			return uc_pm_delete($uid, $folder, $pmids);
	}
	/**
	 * 按照用户删除短消息
	 *
	 * @param int $uid		         用户Id
	 * @param array	$uids		要删除的消息用户ID数组
	 * @return
	 * 	>0 成功
	 * 	<=0 失败
	 */
	function pm_deleteuser($uid, $touids) {
		return uc_pm_deleteuser($uid, $touids) ;
	}
	
	/**
	 * 标记已读/未读状态
	 *
	 * @param int $uid		用户Id
	 * @param array	$uids		要标记已读状态的用户ID数组
	 * @param array	$pmids		要标记已读状态的消息ID数组
	 * @param int $status		1 已读 0 未读
	 */
	function pm_readstatus($uid, $uids, $pmids = array(), $status = 0) {
		return  uc_pm_readstatus($uid, $uids, $pmids, $status);
	}
	
	/**
	 * 获取短消息列表
	 *
	 * @param int $uid		用户Id
	 * @param int $page 		当前页
	 * @param int $pagesize 	每页最大条目数
	 * @param string $folder	打开的目录 newbox=未读消息，inbox=收件箱，outbox=发件箱
	 * @param string $filter	过滤方式 newpm=未读消息，systempm=系统消息，announcepm=公共消息
	 				$folder		$filter
	 				--------------------------
	 				newbox
	 				inbox		newpm
	 						systempm
	 						announcepm
	 				outbox		newpm
	 				searchbox	*
	 * @param string $msglen 	截取的消息文字长度
	 * @return array('count' => 消息总数, 'data' => 短消息数据)
	 */
	function pm_list($uid, $page = 1, $pagesize = 10, $folder = 'inbox', $filter = 'newpm', $msglen = 0) {
	
		return uc_pm_list($uid, $page, $pagesize, $folder, $filter, $msglen);
	}
	/**
	 * 忽略未读消息提示
	 *
	 * @param int $uid		用户Id
	 */
	function pm_ignore($uid)
	{
		return uc_pm_ignore($uid);
	}
	
	/**
	 * 获取短消息内容
	 *
	 * @param int $uid		用户Id
	 * @param int $pmid		消息Id
	 * @param int $touid		消息对方用户Id
	 * @param int $daterange	日期范围 1=今天,2=昨天,3=前天,4=上周,5=更早
	 * @return array() 短消息内容数组
	 */
	function pm_view($uid, $pmid, $touid = 0, $daterange = 1) {
		return  uc_pm_view($uid, $pmid, $touid, $daterange);
	}
	
	/**
	 * 获取单条短消息内容
	 *
	 * @param int $uid		用户Id
	 * @param int $pmid		消息Id
	 * @param int $type		0 = 获取指定单条消息
	 				1 = 获取指定用户发的最后单条消息
	 				2 = 获取指定用户收的最后单条消息
	 * @return array() 短消息内容数组
	 */
	function pm_viewnode($uid, $type = 0, $pmid = 0) {
		return uc_pm_viewnode($uid, $type, $pmid) ;
	}
	
	/**
	 * 获取用户list
	 * @param string $sql
	 * @param int $limit 每页条数
	 * @param int $start 从第$start开始取
	 * @return array("count"=>int(10),'data'=>array())
	 */
	function getlist($sql,$limit,$start)
	{
		return $this->db->getList($sql,$limit,$start);
	}
	//获取某个用户信息
	function getUserInfo($id)
	{
		$info= $this->db->getOne("select u.*,ug.allowact,ug.groupname from ".$GLOBALS['cfg']['tablepre']."users u left join ".$GLOBALS['cfg']['tablepre']."usergroup
		 ug on ug.id=u.groupid where u.id='$id'");
		if($info[allowact])
		{
			$info[allowact].=',';
		}
		$info[allowact].='main,project';
		return $info;
	}
	
	function edit($params,$where)
	{
		return $this->db->update($GLOBALS['cfg']['tablepre']."users", $params,$where);
	}
}
?>